package servlets;

import java.io.File;
import java.io.IOException;
import java.util.Vector;

import javax.naming.NamingException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import businessdelegate.FabricaBusinessDelegate;



import parser.ParserXML;
import entitiesdto.ArticuloDTO;
import entitiesdto.CantidadMateriaPrimaDTO;
import entitiesdto.MateriaPrimaDTO;
import entitiesdto.RopaDTO;

/**
 * Servlet implementation class for Servlet: NuevoArticuloServlet
 * 
 */
public class NuevoArticuloServlet extends javax.servlet.http.HttpServlet
		implements javax.servlet.Servlet {
	static final long serialVersionUID = 1L;

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public NuevoArticuloServlet() {
		super();
	}

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
	 *      HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

	/*
	 * (non-Java-doc)
	 * 
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
	 *      HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		HttpSession session = request.getSession(true);
		String path = request.getParameter("patharchivo");
		
		ArticuloDTO articulo = new ArticuloDTO();
		if (path != null) {
			ParserXML parser = new ParserXML();
			File archivo = new File(path);
//			articulo = parser.getArticuloDTO(archivo);
			if (articulo != null) {
				try {
					
					
					RopaDTO ropa = new RopaDTO () ;
					
					ropa.setColor("verde");
					ropa.setDescripcion("remera");
					ropa.setLinea("jovenes");
					ropa.setPrecio(25);
					ropa.setRef("123");
					ropa.setSeccion("Hombres");
					ropa.setTiempoFabricacion(3);
					ropa.setOrigen("Argentina");
					ropa.setTalle("M");
				
					MateriaPrimaDTO mpdto = new MateriaPrimaDTO();
					mpdto.setRef("2");
					mpdto.setUnidadMedida("Metros");
					
					CantidadMateriaPrimaDTO c = new CantidadMateriaPrimaDTO();
					c.setCantidad(5);
					c.setMateriaPrima(mpdto);
					
					Vector<CantidadMateriaPrimaDTO> cantidadMP = new Vector<CantidadMateriaPrimaDTO>();
					cantidadMP.add(c);
					
					ropa.setCantidadMateriasPrimas(cantidadMP);
					
					FabricaBusinessDelegate.getInstanace().ingresarNuevoArticulo(ropa);
					
				} catch (NamingException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
		session.setAttribute("articuloParseado", articulo);

		// ACA RECIBE EL XML - TIENE QUE PARSEARLO A ArticuloDTO y pasarle el
		// ArticuloDTO la siguiente pagina newArticle.jsp
		// TAMBIEN TIENE QUE LLAMAR AL Delegate PARA LISTAR TODAS LAS MATERIAS
		// PRIMAS sessionfacade.getMateriasPrimas();

		RequestDispatcher dispatcher = request
				.getRequestDispatcher("/nuevoArticulo.jsp");
		dispatcher.forward(request, response);
	}
}